package it.webrules.deploymanager.core.dy;

import it.webrules.deploymanager.core.dy.deploy.DeployException;
import it.webrules.deploymanager.core.dy.deploy.MBeanManager;

import java.io.IOException;

import javax.management.MalformedObjectNameException;

public interface ApplicationServerConnection {

	void connect() throws DeployException;

	void checkConnect() throws DeployException;

	void disconnect() throws DeployException;

	int isAvailability(StringBuilder errors);

	void deploy() throws DeployException;

	void waitDeploy() throws MalformedObjectNameException, NullPointerException, IOException, InterruptedException, DeployException;

	void waitStart();

	MBeanManager getMBeanManager();

}